
using EasyPhysic.Collider;

namespace EasyPhysic.Manager
{
    /// <summary>
    /// 物理系统管理器
    /// </summary>
    public interface IPhysicSystem 
    {

        // /// <summary>
        // /// 获得目标点
        // /// </summary>
        // /// <param name="data"></param>
        // /// <param name="ls"></param>
        // /// <returns></returns>
        // public void ReadTargetId(Collider.ColliderBody data, System.Collections.Generic.List<int> ls);
        
        
        public void Update(int intervalTimer);
        
        
        /// <summary>
        /// 添加碰撞体
        /// </summary>
        /// <param name="wrapper"></param>
        public void AppendCollider(ColliderWrapper wrapper);
        
        
        /// <summary>
        /// 释放碰撞体
        /// </summary>
        /// <param name="wrapper"></param>
        public void Release(ColliderWrapper wrapper);


        /// <summary>
        /// 绘制辅助线
        /// </summary>
        public void OnDrawGizmos();

        /// <summary>
        /// 注册碰撞体
        /// </summary>
        /// <param name="colliderBody"></param>
        public void RegisterCollider(ColliderWrapper colliderBody);
        /// <summary>
        /// 释放碰撞体
        /// </summary>
        /// <param name="colliderBody"></param>
        public void ReleaseCollider(ColliderWrapper colliderBody);
    }
}